Skip to content

Conversation

compiler-errors
Copy link
Member

In preparation for edition 2024, this PR previews the fallout of enabling the unsafe_op_in_unsafe_fn lint in the compiler, since it's defaulting to warn in the new edition (#112038).

The major annoyance comes primarily from the rustc_codegen_llvm module, where there's a ton of unsafe calls. I tended to wrap individual calls to unsafe fns in unsafe {}, but there a handful of places I chose to just wrap several calls in an unsafe {} block just because it would've been excessive to wrap each call individually.

This doesn't enable the lint for the standard library, since I'm not totally certain what T-libs prefers w/ this lint.

@rustbot
Copy link
Collaborator

rustbot commented Jul 14, 2024

r? @petrochenkov

rustbot has assigned @petrochenkov.
They will have a look at your PR within the next two weeks and either review your PR or reassign to another reviewer.

Use r? to explicitly pick a reviewer

@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels Jul 14, 2024
@workingjubilee
Copy link
Member

backtrace needs to be updated in order to be able to deny(unsafe_op_in_unsafe_fn) in std.

@workingjubilee
Copy link
Member

I put up #127744 as a partial step since taking care of every platform's code will be a nightmare.

@bors

This comment was marked as resolved.

@petrochenkov
Copy link
Contributor

@bors r+

@bors
Copy link
Collaborator

bors commented Jul 16, 2024

📌 Commit 28503d6 has been approved by petrochenkov

It is now in the queue for this repository.

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Jul 16, 2024
bors added a commit to rust-lang-ci/rust that referenced this pull request Jul 16, 2024
…iaskrgr

Rollup of 8 pull requests

Successful merges:

 - rust-lang#127669 (Fix the issue of invalid suggestion for a reference of iterator)
 - rust-lang#127707 (match lowering: Use an iterator to find `expand_until`)
 - rust-lang#127730 (Fix and enforce `unsafe_op_in_unsafe_fn` in compiler)
 - rust-lang#127789 (delete #![allow(unsafe_op_in_unsafe_fn)] in teeos)
 - rust-lang#127805 (run-make-support: update gimli to 0.31.0)
 - rust-lang#127808 (Make ErrorGuaranteed discoverable outside types, consts, and lifetimes)
 - rust-lang#127817 (Fix a bunch of sites that were walking instead of visiting, making it impossible for visitor impls to look at these values)
 - rust-lang#127818 (Various ast validation simplifications)

r? `@ghost`
`@rustbot` modify labels: rollup
@bors bors merged commit 73028fe into rust-lang:master Jul 16, 2024
6 checks passed
@rustbot rustbot added this to the 1.81.0 milestone Jul 16, 2024
rust-timer added a commit to rust-lang-ci/rust that referenced this pull request Jul 16, 2024
Rollup merge of rust-lang#127730 - compiler-errors:ed-2024-unsafe, r=petrochenkov

Fix and enforce `unsafe_op_in_unsafe_fn` in compiler

In preparation for edition 2024, this PR previews the fallout of enabling the `unsafe_op_in_unsafe_fn` lint in the compiler, since it's defaulting to warn in the new edition (rust-lang#112038).

The major annoyance comes primarily from the `rustc_codegen_llvm` module, where there's a ton of unsafe calls. I tended to wrap individual calls to unsafe fns in `unsafe {}`, but there a handful of places I chose to just wrap several calls in an `unsafe {}` block just because it would've been excessive to wrap each call individually.

This doesn't enable the lint for the standard library, since I'm not totally certain what T-libs prefers w/ this lint.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants